package com.shujia.java.day15.demo2;

import java.io.FileInputStream;

/**
 * @Description: Demo1  输入流 读取数据 FileInputStream
 * @Author: 王火火
 * @Date: 2019/8/17 10:55
 * <p>
 * 3个read 返回值都是int
 * 1.read()
 * 2.read(byte[] b)
 * 3.read(byte[] b,int off,int len)
 */
public class Demo1 {
    public static void main(String[] args) throws Exception {
        // 第一步 创建流对象 文件不存就报错
        FileInputStream fis = new FileInputStream("test.txt");
        //1.read() 获取文件中 一个字符的字节
        // read() 类似之前的迭代器
        // ASCII码转换   read() 获取数据 一次获取一个 获取完成之后继续获取 获取的值为-1
//        System.out.println(fis.read());
//        System.out.println(fis.read());
//        System.out.println(fis.read());
//        System.out.println(fis.read());
//        System.out.println(fis.read());
//        System.out.println("从这开始下面没数据:");
//        System.out.println(fis.read());
//        System.out.println(fis.read());

        //一次循环 获取两个值  但是输出了一个
//        while (fis.read()!=-1){
//            System.out.println((char)fis.read());
//        }

//        //首相在while之外 定义一个变量 接收fis.read();
//        int i=fis.read();
//        while(i!=-1){
//            System.out.println((char)i);
//            i=fis.read();
//        }

            //char i=(char)fis.read();
            //        while(i!=(char)-1){
            //            System.out.println(i);
            //            i=(char)fis.read();
            //        }

        //通常使用这种方式
        int i ;
        while ((i = fis.read()) != -1) {
            System.out.println((char) i);
        }
        //关闭流
        fis.close();
    }
}
